Composable time-series observability in sensor data fusion

ABSTRACT

A sensor data fusion system includes a processor coupled to a plurality of sensors. The system is initialized by providing access to a data store storing at least one time series of sensor data; a semantic store storing semantic data including system variables, and relations between the system variables; and a mapping therebetween. A registration of a set of one or more variables of interest for which appropriate data is not available is obtained. An initially empty inference model is extended with the set of variables, to obtain an extended model. A request to observe a given one of the set of variables at a given timestamp is obtained. Responsive thereto, time series data for the set of registered variables is retrieved. The extended model is run with the retrieved data to obtain an estimate of the given one of the variables at the given timestamp.

TECHNICAL FIELD

The present invention relates to the electrical, electronic, andcomputer arts, and more specifically, to sensor networks and relatedtechnologies.

BACKGROUND

The growing availability of sensing devices and internet of things (IoT)systems creates a huge potential for making data and analytics thedriver of value and competitiveness in many fields. Most of the timespent in the development and deployment of any data analytics module ordata science project is spent on the tasks of understanding the data,the relation of the data to the domain variables, and designing theappropriate data transformation pipelines. Knowledge of the data andrelations to the domain variables is typically dispersed among variousdomain experts in an inconsistent and non-transferrable way.

The knowledge accumulated in a data science project, in the form of datatransformation pipelines, is typically difficult to transfer to otherprojects or business decision-making processes. As a result, thepotential value in the data is not fully, and often poorly, exploited.

SUMMARY

Embodiments of the present disclosure provide techniques for composabletime-series observability in sensor data fusion. According to anembodiment of the present invention, an exemplary method for improvingthe performance of a sensor data fusion system including a processorcoupled to a plurality of sensors and having limited sensor resourcesincludes initializing the sensor data fusion system by providing accessto: a data store storing at least one time series of sensor data; asemantic store storing semantic data including system variables, andrelations between the system variables; and a mapping between thesemantic data and the time series of sensor data; obtaining, from auser, a registration of a set of one or more variables of interestdefined in the semantic store but for which appropriate data is notavailable due to the limited sensor resources; and extending aninitially empty inference model with the set of one or more variables ofinterest, to obtain an extended inference model. The method furtherincludes obtaining, from the user, a request to observe a given one ofthe set of one or more variables of interest at a given timestamp;responsive to the request, retrieving time series data for the set ofregistered variables in the extended inference model; and running theextended inference model with the retrieved data to obtain an estimateof the given one of the set of variables at the given timestamp.

According to another embodiment of the present invention, an exemplarymethod for controlling the operation of an electrical power systemincludes initializing a sensor data fusion system including a processorcoupled to a plurality of sensors, and having limited sensor resources,by providing access to: a data store storing at least one time series ofsensor data; a semantic store storing semantic data including systemvariables, and relations between the system variables; and a mappingbetween the semantic data and the time series of sensor data. At leastone of the system variables includes voltage at a feeder head in asubstation. The feeder head is coupled to a plurality of feeders withloads and distributed generation capability. A further step includesobtaining, from a user, a registration of a set of one or more variablesof interest defined in the semantic store but for which appropriate datais not available due to the limited sensor resources. The set of one ormore variables of interest includes at least the voltage at the feederhead. Further steps include extending an initially empty inference modelwith the set of one or more variables of interest, to obtain an extendedinference model; and obtaining, from the user, a request to observe agiven one of the set of one or more variables of interest at a giventimestamp. The given one of the set of one or more variables of interestincludes at least the voltage at the feeder head. Still further stepsinclude, responsive to the request, retrieving time series data for theset of registered variables in the extended inference model; running theextended inference model with the retrieved data to obtain an estimateof the given one of the set of variables at the given timestamp; andcontrolling the operation of the electrical power system in accordancewith the estimate of the given one of the set of variables at the giventimestamp.

According to a further embodiment of the present invention, an exemplarycomputer implementing a sensor data fusion system includes a memory; andat least one processor, coupled to the memory, and having interfaceswith a plurality of sensors having limited sensor resources. The atleast one processor is operative to: initialize the sensor data fusionsystem by providing access to: a data store storing at least one timeseries of sensor data; a semantic store storing semantic data includingsystem variables, and relations between the system variables; and amapping between the semantic data and the time series of sensor data.The at least one processor is further operative to obtain, from a user,a registration of a set of one or more variables of interest defined inthe semantic store but for which appropriate data is not available dueto the limited sensor resources; extend an initially empty inferencemodel with the set of one or more variables of interest, to obtain anextended inference model; obtain, from the user, a request to observe agiven one of the set of one or more variables of interest at a giventimestamp; responsive to the request, retrieve time series data for theset of registered variables in the extended inference model; and run theextended inference model with the retrieved data to obtain an estimateof the given one of the set of variables at the given timestamp.

As used herein, “facilitating” an action includes performing the action,making the action easier, helping to carry the action out, or causingthe action to be performed. Thus, by way of example and not limitation,instructions executing on one processor might facilitate an actioncarried out by instructions executing on a remote processor, by sendingappropriate data or commands to cause or aid the action to be performed.For the avoidance of doubt, where an actor facilitates an action byother than performing the action, the action is nevertheless performedby some entity or combination of entities.

One or more embodiments of the invention or elements thereof can beimplemented in the form of a computer program product including acomputer readable storage medium with computer usable program code forperforming the method steps indicated. Furthermore, one or moreembodiments of the invention or elements thereof can be implemented inthe form of a system (or apparatus) including a memory, and at least oneprocessor that is coupled to the memory and operative to performexemplary method steps. Yet further, in another aspect, one or moreembodiments of the invention or elements thereof can be implemented inthe form of means for carrying out one or more of the method stepsdescribed herein; the means can include (i) hardware module(s), (ii)software module(s) stored in a computer readable storage medium (ormultiple such media) and implemented on a hardware processor, or (iii) acombination of (i) and (ii); any of (i)-(iii) implement the specifictechniques set forth herein.

Techniques of the present invention can provide substantial beneficialtechnical effects. For example, one or more embodiments provide one ormore of:

Transparent retrieval of data representing high-level concepts orvariables of a system or domain, by hiding the complexity of identifyingthe relevant raw sensor data and applying the required transformation(e.g. data cleaning and aggregation), thus resulting in maximal usage ofoften difficult-to-use data in a data-driven decision-making process;

Democratization of data engineering process and data access byempowering all types of users to easily quantify variables resultingfrom complex data transformation pipelines, and/or to extend dataengineering rules;

Reduced cost of entry for creating data-set for data-science or processcontrol;

Enable transfer and reuse of knowledge across an enterprise orcollective of users, in the form of data transformation pipelines.

These and other features and advantages of the present invention willbecome apparent from the following detailed description of illustrativeembodiments thereof, which is to be read in connection with theaccompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 presents a combined flow chart and block diagram, according to anaspect of the invention;

FIG. 2 depicts a computer system implementing a sensor data fusionsystem, according to an aspect of the invention; and

FIG. 3 depicts control of an electric power grid, in accordance with anaspect of the invention.

DETAILED DESCRIPTION

As noted, the growing availability of sensing devices and internet ofthings (IoT) systems creates a huge potential for making data andanalytics the driver of value and competitiveness in many fields. Mostof the time spent in the development and deployment of any dataanalytics module or data science project is spent on the tasks ofunderstanding the data, the relation of the data to the domainvariables, and designing the appropriate data transformation pipelines.Knowledge of the data and relations to the domain variables is typicallydispersed among various domain experts in an inconsistent andnon-transferrable way.

The knowledge accumulated in a data science project, in the form of datatransformation pipelines, is typically difficult to transfer to otherprojects or business decision-making processes. As a result, thepotential value in the data is not fully, and often poorly, exploited.

One or more embodiments advantageously provide a system which computesobservations of system variables (“observe” aspect) by running aninference model derived from analytical relations between requestedvariables and other known variables, and from a mapping betweenvariables and sensor observations. The answer can be, for example:

The estimate of the requested observations;

“Variable is unobservable”—missing analytic relations or sensor datarequired to make query observable are also returned.

One or more embodiments maintain and extend a set of analytic relationsbetween variables and mapping to sensor observations by:

Receiving registrations of new “variables” and semantic relations;

Receiving new analytical relations between variables, or mapping betweenvariables and observations; and/or

Learning new analytical relations between variables from the data,exploiting semantic relations.

One or more embodiments employ data and semantic modeling tools; amachine learning inference model; an analytics engine; and one or moremachine learning modules. The data and semantic modelling tools managesensor data, variables and semantic relations. The machine learninginference model represents the analytics relations between variables.The analytics engine is configured to interpret analytics relations andrun inference(s) on the inference model. Non-limiting examples ofanalytic relations include: deterministic functions, joint/conditionalprobability distributions, and the like. The machine learning modulesare configured to learn new analytics relations.

One or more embodiments make use of a definition of a set of variablesdescribing the system, and a mapping between variables and sensorobservations.

Referring now to FIG. 1, in one or more embodiments, consideringinitialization, the system has access to a time series data store 105(e.g. sensor data), a semantic store 103 (system entities, variables,relations) and a mapping between semantic data and time series data(dashed lines). During system extension, the user registers a set ofvariables of interest. Optionally, the user registers known analyticrelations between variables. Examples of analytic relations could befunctional relations, parametric joint densities (mean/covariancematrix), and the like. The system extends the inference model (empty atstart) with the given variables of interest and analytic relations.Where no analytic relations exist to link registered variables withexisting variables, the system navigates the semantic store to identifynew relationships and associates a parametric relation (e.g. ajoint/conditional density) to each relation. The system then learns theparameters of the new analytic relations by extracting historical datafrom the time series data store. For example, if the inference model isa probabilistic graphical model, maximum likelihood can be used to inferthe parameters from the data. Where data for some of the registeredvariables with unknown relations are not available, the system flagsthat variable as “unobservable”. The user can then provide the relationsor provide a mapping from variable to data from a new sensor.

The terms “entities” and “variables” are used essentiallyinterchangeably herein, and will be understood to refer to high levelconcepts that it is desired to quantify. The relations in the semanticstore 103 are relations between the entities/variables.

Regarding system queries (observe phase), the user requests to observe avariable at a given timestamp. The system retrieves time series data forall variables in the inference model. The system then runs the inferencemodel and returns the “optimal” estimate of the requested variable giventhe timeseries data and the model relationships, where the optimalitycriterion could be, for example, maximum likelihood or maximum aposteriori. For example, if the inference model is a probabilisticgraphical model, belief propagation could be used to run the inference.

Still referring to FIG. 1, inference model 101 includes analyticrelations 109, 123, 113, 117, 127 symbolized by square boxes andvariables x1 through x9 symbolized by circles and numbered,respectively, 107, 131, 111, 133, 125, 129, 115, 119, and 121. Thedashed arrows emanating from, respectively, x2 131, x3 111, x7 115, x8119, and x9 121 represent the mapping of variables to the data store(s)105.

As noted above, one or more embodiments advantageously provide a systemwhich computes observations of system variables (“observe” aspect) byrunning an inference model derived from analytical relations betweenrequested variables and other known variables, and from a mappingbetween variables and sensor observations; the answer can be, forexample, the estimate of the requested observations, or “Variable isunobservable”—missing analytic relations or sensor data required to makequery observable are also returned. Thus, in FIG. 1, suppose it isdesired to observe x1; x1 can be inferred from the data of x2 and x3. Onthe other hand, suppose it is desired to observe x5. This variable isunobservable, as it requires data for x5 or x6 or analytic relations onx5 or x6. To address this, register variable x8 by providing an analyticrelation 117 to x6 and a mapping of x8 to the data store(s) 105.Furthermore, register variable x9 by providing a mapping of x9 to thedata store(s) 105. The system then learns an analytic relation 127; itderives a connection to x5 from semantics (or data) and then learns theanalytic relation 127. X9 is now used to observe x5 and x6.

In one non-limiting example, and referring now to FIG. 3, one or moreembodiments of the invention are employed in a power systemsobservability tool. User A (an electrical grid operator) registersvariables of interest for monitoring: (i) Active Power 303 at asubstation 301, (ii) Voltage at a feeder head 305, and, optionally, anyother desired appropriate quantities (e.g., (iii) Frequency at acoupling point, not shown). The system learns a factor graph model onthe variables of interest and other related variables in the system,where each factor corresponds to an analytical function between a subsetof the variables (semantic data models are used to guide learning ofgraphical relations). When User A requests data for active power, thesystem runs an inference on the factor graph model and returns theestimate of that variable based on all available observations and factorrelations. The inference takes care of complementing for missing data inspecific variables at certain timestamps. The system returns“unobservable active power at time X” if too many relevant data pointsare missing.

The system in FIG. 3 includes a number of feeders 307-1, 307-2 . . .307-n off of feeder head 305, each serving one or more feeder loads withdistributed solar generation 309-1 . . . 309-m. In general, n and m canbe different and the value of m can be the same or different for each ofthe n feeders.

In the first non-limiting example, User B (a planning engineer) isinterested in a new variable (reactive power), and knows the analyticrelation with already registered variables (active power and voltage).He registers the new variables, as well as a new factor in the graph(analytic function and, optionally, gradient). He usually uses thatoperation when gaps in reactive power data are missing.

User A now sends a new request for active power, and the system is ableto return an answer at time X, because reactive power data are availableand are linked to the active power.

Further, in the first non-limiting example, User C (an executive) isinterested in quantifying some major variable(s) of the system (e.g.load of electric cars on the system at time X). He registers thevariable into the system. If the variable is unobservable, the systempushes a notification to the data engineering team for the request,including possible indications of required data (e.g. data from some carcharging stations are not available; analytic relation that estimateselectric car load from household load is required; etc.).

In FIG. 3, using inventive techniques to accurately quantify (in recentpast or future) the voltage at the feeder head 305; when the voltage istoo high (above a threshold), reduce generation (e.g. disconnect somesolar generators) to bring voltage within acceptable levels; when thevoltage is too low, reduce load (e.g. by controlling consumer loadsdirectly or through demand response programs).

In another non-limiting example, one or more embodiments of theinvention are employed in a Crop Growth Prediction tool. The userregisters certain state variables, such as climate data (average airtemperature, precipitation, etc.), soil data, humus content, etc. andmanagement practices for particular crop such as maize. The user(s) mapthe known state variables to available data. These can includeadditional state variables that are not in the set of interest. Thesystem learns the correlation between maize and other similar crops inthe same region when there is no information available for maize. Whenthe user submits a query about crop yield of maize, the system runs themodel based on all available observations and factor relations. Ananswer may not be returned if not enough relations are available toanswer the query. The system looks for crops that are grown in the samearea and similar in nature to maize growth (like rice e.g.) wherecomputations have been carried out by a different user. The correlationbetween maize and rice growth in the same region is exploited to giveinformation on the expected maize yield using the models for rice yieldthat the user did not know a priori.

One or more embodiments thus provide systems and/or methods forobservability in sensor data fusion, including receiving requests forregistration of entities to be observed, and subsequently extending anunderlying inference model including of set of entities related toentities to be observed and analytic relations between entities, whichare learned from sensor data associated to entities. The systems and/ormethods further respond to time-series data requests for registeredentities, by running inference(s) on the inference model using sensordata mapped to entities that are part of the inference mode.

In some cases, the entity requested is unobservable with the existingsensor data and inference model, so that, based on the results of theinference, a list of sensor data required for making the inference modelobservable is derived.

In some instances, a known analytical relation between two semanticentities is received and integrated into the underlying inference model.

In some cases, a query about the sensitivity of entities in the systemis received, and the inference model is run so as to derive aquantitative measure of the sensitivity of the semantic entity withrespect to all other semantic entities included in the inference model.

One or more embodiments do not require the model of the data to be givenand/or do not require domain expertise and/or the specification of manyparameters which are difficult to obtain. Further, one or moreembodiments advantageously do not require heavy domain expertise and/orcomplete refactoring of the model inference mechanism for extensions ofthe model. One or more embodiments do not require the inference model tobe given. One or more embodiments learn the model from the data, and/orcustomize/extend the set of state variables. One or more embodimentsadvantageously exploit semantic relations, which makes the methods moreeffective as compared to prior art techniques.

One or more embodiments advantageously maintain and account for asemantic description of the domain; allow the user to request data for avariable; compute requested data from all related sensor data from usinga machine-learning inference model; learn quantitative relationshipsbetween variables based on related sensor data; and/or allow a user toprovide known quantitative relationship between variables. Unlike priorart approaches which only learn qualitative dependencies betweenimportant variables in the system from the data, or only learnqualitative dependencies between data points and rules for semanticconcepts of abnormal conditions to support system diagnosis, one or moreembodiments deal with maintaining a unique inference model on the sensordata with quantitative relationships between the variables, which allowsfusing the information from the sensor data to obtain estimates orpredictions of any variable of interest.

Given the discussion this far, it will be appreciated that, in generalterms, an exemplary method is provided for improving the performance ofa sensor data fusion system including a processor 202 coupled to aplurality of sensors 299 (see discussion of FIG. 2 below) and havinglimited sensor resources. As used herein, a system has limited sensorresources when the sensor resources are inadequate to measure at leastone desired quantity at at least one desired time. The method includesinitializing the sensor data fusion system by providing access to a datastore 105 storing at least one time series of sensor data; a semanticstore 103 storing semantic data including system variables, andrelations between the system variables; and a mapping (dashed lines inFIG. 1) between the semantic data and the time series of sensor data.Entities, also referred to as variables, are high level concepts it isdesired to quantify; relations are relations between theentities/variables. In one or more embodiments, sensors are deployed onthe system and measure particular quantities of the system. The mappingindicates which sensor data represents which semantic concepts. Alibrary of semantic concepts could include, for example, electrictransformer, power station; the sensor data measures quantitiesassociated with electric power—the mapping associates that sensor datawith that power station, e.g.

A further step includes obtaining, from a user (e.g. via keyboard 208,see discussion of FIG. 2 below), a registration of a set of one or morevariables of interest defined in the semantic store but for whichappropriate data is not available due to the limited sensor resources.The semantic store is essentially like a dictionary defining high-levelconcepts (variables) that a user may be interested in for a particulardomain. While the variables of interest are defined in the semanticstore, it may be that there is no data for them at certain times (or nodata at all for any time).

Further steps include extending an initially empty inference model 101with the set of one or more variables of interest, to obtain an extendedinference model; obtaining, from the user, a request to observe a givenone of the set of one or more variables of interest at a giventimestamp; responsive to the request, retrieving time series data forthe set of registered variables in the extended inference model; andrunning the extended inference model with the retrieved data to obtainan estimate (for example, an optimal estimate) of the given one of theset of variables at the given timestamp.

In some cases, no analytical relations exist to link the set of one ormore variables of interest to the variables in the semantic data store,and the extending of the inference model includes navigating thesemantic store 103 to identify new relationships; and associating aparametric relation to each of the new relationships. A further stepincludes learning parameters of the new relationships by extractinghistorical data from the at least one time series of sensor data.

In some cases, in the associating sub-step, the parametric relationincludes at least one of a joint probability density and a conditionalprobability density.

In some instances, when data for at least some of the variables ofinterest with unknown parameters in the parametric relation is notavailable, further steps can include flagging the at least some of thevariables of interest as unobservable; and obtaining relations from theuser for the unobservable variables.

On the other hand, in some instances, when data for at least some of thevariables of interest with unknown parameters in the parametric relationis not available, further steps include flagging the at least some ofthe variables of interest as unobservable; and obtaining from the user amapping from variable to data from a new sensor. Refer to the abovediscussion wherein, based on the results of the inference, a list ofsensor data required for making the inference model observable isderived.

In some embodiments, the inference model includes a probabilisticgraphical model, and the learning of the parameters of the newrelationships by extracting the historical data from the at least onetime series of sensor data includes using a maximum likelihoodtechnique.

Some embodiments further include obtaining, from the user, registrationof known analytic relations between any subset of variables in thesemantic store (not necessarily the registered variables). In suchcases, the extending of the inference model further includes extendingthe initially empty inference model with the known analytic relations,to obtain the extended inference model. Refer to the above discussionwhere a known analytical relation between two semantic entities isreceived and integrated into the underlying inference model.Non-limiting examples of the known analytic relations include at leastone of functional relations and parametric joint densities. For example,if, in the joint density, there is a Gaussian distribution, theparameters would be a mean and a covariance matrix.

In some cases, the inference model includes a probabilistic graphicalmodel, and the running of the extended inference model with theretrieved data includes running using belief propagation.

In some cases, the extended inference model is run to determinesensitivity of at least one of the system variables to at least anotherone of the system variables. See above discussion wherein a query aboutthe sensitivity of entities in the system is received. The inferencemodel is run so as to derive a quantitative measure of the sensitivityof the semantic entity with respect to all other semantic entitiesincluded in the inference model. For example, it may be desired to checkthe sensitivity of the system to changes in certain variables. If acertain value of a given variable is assumed, the system allows one todetermine the effect of same on the other variables. If power generationof a unit is predicted, it is possible to predict the effect of same onvoltage at various points. In another example, suppose load increase ina certain area is predicted due to development. The system can estimatethe effect on certain other pertinent quantities and plan for new plantand equipment to handle the increased load. The electrical grid can becontrolled and/or reconfigured based on the results.

In another aspect, a computer (e.g. 212, see discussion of FIG. 2 below)implements a sensor data fusion system. The computer includes a memory204; and at least one processor 202, coupled to the memory, and havinginterfaces with a plurality of sensors 299 having limited sensorresources. The at least one processor is operative to initialize thesensor data fusion system by providing access to a data store 105 (e.g.via network interface 214 or in non-volatile part of memory 205) storingat least one time series of sensor data; a semantic store 103 (e.g. vianetwork interface 214 or in non-volatile part of memory 205) storingsemantic data including system variables, and relations between thesystem variables; and a mapping (dashed lines in FIG. 1) between thesemantic data and the time series of sensor data. The at least oneprocessor is further operative to obtain, from a user, a registration ofa set of one or more variables of interest defined in the semantic storebut for which appropriate data is not available due to the limitedsensor resources; to extend an initially empty inference model 101 withthe set of one or more variables of interest, to obtain an extendedinference model; to obtain, from the user, a request to observe a givenone of the set of one or more variables of interest at a giventimestamp; responsive to the request, to retrieve time series data forthe set of registered variables in the extended inference model; and torun the extended inference model with the retrieved data to obtain anestimate of the given one of the set of variables at the giventimestamp.

In some instances, no analytical relations exist to link the set of oneor more variables of interest to the variables in the semantic datastore; and the at least one processor is operative to extend theinference model by: navigating the semantic store 103 to identify newrelationships; and associating a parametric relation to each of the newrelationships. The at least one processor is further operative to learnparameters of the new relationships by extracting historical data fromthe at least one time series of sensor data. The parametric relation caninclude, for example, at least one of a joint probability density and aconditional probability density. In some instances, data for at leastsome of the variables of interest with unknown parameters in theparametric relation is not available. In some such instances, the atleast one processor is further operative to flag the at least some ofthe variables of interest as unobservable; and obtain relations from theuser for the unobservable variables. On the other hand, in some suchinstances, the at least one processor is further operative to: flag theat least some of the variables of interest as unobservable; and obtainfrom the user a mapping from variable to data from a new sensor.

In a non-limiting example, the inference model includes a probabilisticgraphical model, and the learning of the parameters of the newrelationships by extracting the historical data from the at least onetime series of sensor data includes using a maximum likelihoodtechnique.

In some cases, the at least one processor is further operative toobtain, from the user, registration of known analytic relations betweenany subset of variables in the semantic store, and the extending of theinference model further includes extending the initially empty inferencemodel with the known analytic relations, to obtain the extendedinference model.

In still another aspect, referring also to FIG. 3, and still referringto FIGS. 1 and 2, an exemplary method for controlling the operation ofan electrical power system includes initializing a sensor data fusionsystem including a processor coupled to a plurality of sensors, andhaving limited sensor resources, by providing access to a data storestoring at least one time series of sensor data; a semantic storestoring semantic data including system variables, and relations betweenthe system variables; and a mapping between the semantic data and thetime series of sensor data. At least one of the system variablesincludes voltage at a feeder head 305 in a substation 301; the feederhead 305 is coupled to a plurality of feeders 307-1, 307-2, 307-n withloads and distributed generation capability 309-1 . . . 309-m. A furtherstep includes obtaining, from a user, a registration of a set of one ormore variables of interest defined in the semantic store but for whichappropriate data is not available due to the limited sensor resources.The set of one or more variables of interest includes at least thevoltage at the feeder head 305.

Further steps include extending an initially empty inference model withthe set of one or more variables of interest, to obtain an extendedinference model; and obtaining, from the user, a request to observe agiven one of the set of one or more variables of interest at a giventimestamp. The given one of the set of one or more variables of interestincludes at least the voltage at the feeder head 301. Responsive to therequest, a further step includes retrieving time series data for the setof registered variables in the extended inference model. Even furthersteps include running the extended inference model with the retrieveddata to obtain an estimate of the given one of the set of variables atthe given timestamp; and controlling the operation of the electricalpower system in accordance with the estimate of the given one of the setof variables at the given timestamp.

When, for example, the extended inference model indicates that thevoltage at the feeder head at the given timestamp exceeds a thresholdvalue (say, a nominal value plus a tolerance), the controlling of theoperation of the electrical power system can include taking at leastsome of the distributed generation capability offline. On the otherhand, when for example, the extended inference model indicates that thevoltage at the feeder head at the given timestamp is below a thresholdvalue (say, a nominal value minus a tolerance), the controlling of theoperation of the electrical power system can include placing at leastsome of the distributed generation capability online and/or reducingload.

In instances such as just described, the user can be an electrical gridoperator. The operator looks at day-to-day operation of the electricalgrid and takes action if anything is out of tolerance. The operator willwant to monitor certain quantities about the power grid for a givenarea—for example, active power at the substation; voltage at the feederhead/bus bar in the substation; and the frequency at the same pointand/or at the boundary with another operator, for example. Thequantities it is desired to monitor are input from the user; the systemlearns a model based on the semantics and the available sensor data.Whenever the user requests data for particular quantities he or shewants to monitor, the system can provide an estimate. Suppose there is agap in the actual data for the quantity of interest, or even that thereis no specific sensor data for that quantity. The system looks for datafrom nearby sensors and/or employs heuristics to derive the desiredquantity. For example, the utility operator monitors voltage which needsto be within a nominal value plus or minus 1%, and the voltage is foundto be outside that value. If too high, reduce generation—disconnect somesolar panels. If too low, decrease load via demand reduction (directlyby shutting down non-essential circuits or via a demand reductionprogram) or bring more generating capacity on line.

The skilled artisan will appreciate that reactive power comes from thetheory of alternating current (AC) because loads are typically notpurely resistive. The reactive power (and not merely the active power)is typically of interest in an AC electric grid. In particular, thecomplex power, S, is given by the real average power, P, plus j (theimaginary unit, square root of minus one) times the reactive power, Q.

In another aspect, knowledge transfer can be facilitated—some expertsmay know how to calculate values for desired quantities for which directmeasurements are not available. Suppose it is desired to know reactivepower; suppose it is known how to compute same based on heuristics fromactive power and voltage. In one or more embodiments, register thatinformation into the system. Suppose as above the system responds thatit cannot compute a desired quantity (e.g., the active power). Whenexpert knowledge is input and/or a new data source is utilized, now itis possible to obtain an answer.

One or more embodiments cut electrical load or bring a new generator,solar collector, and/or peak load/supplemental generation device online.One or more embodiments use the system to infer the value of a variablefor a future time or for a past or current time for which there is nodirect data. One or more embodiments are thus useful for estimatingquantities for which there is no directly measured data at all (or atleast no directly measured data at the time of interest). One or moreembodiments improve the performance of a sensor data fusion system undersuch conditions.

In still another aspect, a computer (e.g. 212, see discussion of FIG. 2below) implements a sensor data fusion system that controls theoperation of an electrical power system.

Exemplary System

As will be appreciated by one skilled in the art, and as discussed indetail elsewhere herein, aspects of the present invention may beembodied as a system, method or computer program product. Accordingly,aspects of the present invention may take the form of an entirelyhardware embodiment, an entirely software embodiment (includingfirmware, resident software, micro-code, etc.) or an embodimentcombining software and hardware aspects.

One or more embodiments of the invention, or elements thereof, can beimplemented in the form of an apparatus including a memory and at leastone processor that is coupled to the memory and operative to performexemplary method steps.

One or more embodiments can make use of software running on a processorof a computer implementing a sensor data fusion system and/or some othergeneral purpose computer or workstation. With reference to FIG. 2, suchan implementation might employ, for example, a processor 202, a memory204, and an input/output interface formed, for example, by a display 206and a keyboard 208. The term “processor” as used herein is intended toinclude any processing device, such as, for example, one that includes aCPU (central processing unit) and/or other forms of processingcircuitry. Further, the term “processor” may refer to more than oneindividual processor. The term “memory” is intended to include memoryassociated with a processor or CPU, such as, for example, RAM (randomaccess memory), ROM (read only memory), a fixed memory device (forexample, hard drive), a removable memory device (for example, diskette),a flash memory and the like. In addition, the phrase “input/outputinterface” as used herein, is intended to include, for example, one ormore mechanisms for inputting data to the processing unit (for example,mouse), and one or more mechanisms for providing results associated withthe processing unit (for example, printer). The processor 202, memory204, and input/output interface such as display 206 and keyboard 208 canbe interconnected, for example, via bus 210 as part of a data processingunit 212. Suitable interconnections, for example via bus 210, can alsobe provided to a network interface 214, such as a network card, whichcan be provided to interface with a computer network, and to a mediainterface 216, such as a diskette or CD-ROM drive, which can be providedto interface with media 218.

Accordingly, computer software including instructions or code forperforming the methodologies of the invention, as described herein, maybe stored in one or more of the associated memory devices (for example,ROM, fixed or removable memory) and, when ready to be utilized, loadedin part or in whole (for example, into RAM) and implemented by a CPU.Such software could include, but is not limited to, firmware, residentsoftware, microcode, and the like.

A data processing system suitable for storing and/or executing programcode will include at least one processor 202 coupled directly orindirectly to memory elements 204 through a system bus 210. The memoryelements can include local memory employed during actual implementationof the program code, bulk storage, and cache memories which providetemporary storage of at least some program code in order to reduce thenumber of times code must be retrieved from bulk storage duringimplementation.

Input/output or I/O devices (including but not limited to keyboards 208,displays 206, pointing devices, and the like) can be coupled to thesystem either directly (such as via bus 210) or through intervening I/Ocontrollers (omitted for clarity).

Network adapters such as network interface 214 may also be coupled tothe system to enable the data processing system to become coupled toother data processing systems or remote printers or storage devicesthrough intervening private or public networks. Modems, cable modem andEthernet cards are just a few of the currently available types ofnetwork adapters.

A plurality of sensors 299-1, 299-2, 299-3 . . . 299-p (collectively,299) are coupled to the processor 202; for example, via the networkinterface 214 and computer network, via analog-to-digital converters, orthe like. The sensors could include sensors to measure voltage, current,power, temperature, frequency, and the like.

As used herein, including the claims, a “server” includes a physicaldata processing system (for example, system 212 as shown in FIG. 2)running a server program. It will be understood that such a physicalserver may or may not include a display and keyboard.

Aspects of the invention can be used in many different scenarios; onenon-limiting example is control of an electrical power grid or the like.

It should be noted that any of the methods described herein can includean additional step of providing a system comprising distinct softwaremodules embodied on a computer readable storage medium; the modules caninclude, for example, any or all of the elements depicted in the blockdiagrams and/or described herein. For example, referring again to FIG.1, the modules can implement the data stores, semantic stores, andinference model, and related aspects. The method steps can then becarried out using the distinct software modules/routines and/orsub-modules/subroutines of the system, as described above, executing onone or more hardware processors 202. Further, a computer program productcan include a computer-readable storage medium with code adapted to beimplemented to carry out one or more method steps described herein,including the provision of the system with the distinct softwaremodules.

In any case, it should be understood that the components illustratedherein may be implemented in various forms of hardware, software, orcombinations thereof; for example, application specific integratedcircuit(s) (ASICS), functional circuitry, one or more appropriatelyprogrammed general purpose digital computers with associated memory, andthe like. Given the teachings of the invention provided herein, one ofordinary skill in the related art will be able to contemplate otherimplementations of the components of the invention.

Computer Program Products

The present invention may be a system, a method, and/or a computerprogram product at any possible technical detail level of integration.The computer program product may include a computer readable storagemedium (or media) having computer readable program instructions thereonfor causing a processor to carry out aspects of the present invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, configuration data for integrated circuitry, oreither source code or object code written in any combination of one ormore programming languages, including an object oriented programminglanguage such as Smalltalk, C++, or the like, and procedural programminglanguages, such as the “C” programming language or similar programminglanguages. The computer readable program instructions may executeentirely on the user's computer, partly on the user's computer, as astand-alone software package, partly on the user's computer and partlyon a remote computer or entirely on the remote computer or server. Inthe latter scenario, the remote computer may be connected to the user'scomputer through any type of network, including a local area network(LAN) or a wide area network (WAN), or the connection may be made to anexternal computer (for example, through the Internet using an InternetService Provider). In some embodiments, electronic circuitry including,for example, programmable logic circuitry, field-programmable gatearrays (FPGA), or programmable logic arrays (PLA) may execute thecomputer readable program instructions by utilizing state information ofthe computer readable program instructions to personalize the electroniccircuitry, in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the blocks may occur out of theorder noted in the Figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

The descriptions of the various embodiments of the present inventionhave been presented for purposes of illustration, but are not intendedto be exhaustive or limited to the embodiments disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope and spirit of the describedembodiments. The terminology used herein was chosen to best explain theprinciples of the embodiments, the practical application or technicalimprovement over technologies found in the marketplace, or to enableothers of ordinary skill in the art to understand the embodimentsdisclosed herein.

What is claimed is:
 1. A method for improving the performance of asensor data fusion system comprising a processor coupled to a pluralityof sensors and having limited sensor resources, said method comprising:initializing said sensor data fusion system by providing access to: adata store storing at least one time series of sensor data; a semanticstore storing semantic data comprising system variables, and relationsbetween said system variables; and a mapping between said semantic dataand said time series of sensor data; obtaining, from a user, aregistration of a set of one or more variables of interest defined insaid semantic store but for which appropriate data is not available dueto said limited sensor resources; extending an initially empty inferencemodel with said set of one or more variables of interest, to obtain anextended inference model; obtaining, from said user, a request toobserve a given one of said set of one or more variables of interest ata given timestamp; responsive to said request, retrieving time seriesdata for the set of registered variables in said extended inferencemodel; and running said extended inference model with said retrieveddata to obtain an estimate of said given one of said set of variables atsaid given timestamp.
 2. The method of claim 1, wherein: no analyticalrelations exist to link said set of one or more variables of interest tosaid variables in said semantic data store; and said extending of saidinference model comprises: navigating said semantic store to identifynew relationships; and associating a parametric relation to each of saidnew relationships; further comprising learning parameters of said newrelationships by extracting historical data from said at least one timeseries of sensor data.
 3. The method of claim 2, wherein, in saidassociating sub-step, said parametric relation comprises at least one ofa joint probability density and a conditional probability density. 4.The method of claim 3, wherein data for at least some of said variablesof interest with unknown parameters in said parametric relation is notavailable, further comprising: flagging said at least some of saidvariables of interest as unobservable; and obtaining relations from saiduser for said unobservable variables.
 5. The method of claim 3, whereindata for at least some of said variables of interest with unknownparameters in said parametric relation is not available, furthercomprising: flagging said at least some of said variables of interest asunobservable; and obtaining from said user a mapping from variable todata from a new sensor.
 6. The method of claim 2, wherein said inferencemodel comprises a probabilistic graphical model, and wherein saidlearning of said parameters of said new relationships by extracting saidhistorical data from said at least one time series of sensor datacomprises using a maximum likelihood technique.
 7. The method of claim1, further comprising obtaining, from said user, registration of knownanalytic relations between any subset of variables in the semanticstore, wherein said extending of said inference model further comprisesextending said initially empty inference model with said known analyticrelations, to obtain said extended inference model.
 8. The method ofclaim 7, wherein, in said obtaining from said user of said registrationof said known analytic relations, said known analytic relations compriseat least one of functional relations and parametric joint densities. 9.The method of claim 1, wherein said inference model comprises aprobabilistic graphical model, and wherein said running of said extendedinference model with said retrieved data comprises running using beliefpropagation.
 10. The method of claim 1, further comprising running saidextended inference model to determine sensitivity of at least one ofsaid system variables to at least another one of said system variables.11. A method for controlling the operation of an electrical powersystem, said method comprising: initializing a sensor data fusion systemcomprising a processor coupled to a plurality of sensors, and havinglimited sensor resources, by providing access to: a data store storingat least one time series of sensor data; a semantic store storingsemantic data comprising system variables, and relations between saidsystem variables; and a mapping between said semantic data and said timeseries of sensor data; wherein at least one of said system variablescomprises voltage at a feeder head in a substation, said feeder headbeing coupled to a plurality of feeders with loads and distributedgeneration capability; obtaining, from a user, a registration of a setof one or more variables of interest defined in said semantic store butfor which appropriate data is not available due to said limited sensorresources, said set of one or more variables of interest comprising atleast said voltage at said feeder head; extending an initially emptyinference model with said set of one or more variables of interest, toobtain an extended inference model; obtaining, from said user, a requestto observe a given one of said set of one or more variables of interestat a given timestamp, said given one of said set of one or morevariables of interest comprising at least said voltage at said feederhead; responsive to said request, retrieving time series data for theset of registered variables in said extended inference model; runningsaid extended inference model with said retrieved data to obtain anestimate of said given one of said set of variables at said giventimestamp; and controlling said operation of said electrical powersystem in accordance with said estimate of said given one of said set ofvariables at said given timestamp.
 12. The method of claim 11, wherein:said extended inference model indicates that said voltage at said feederhead at said given timestamp exceeds a threshold value; and saidcontrolling of said operation of said electrical power system comprisestaking at least some of said distributed generation capability offline.13. The method of claim 11, wherein: said extended inference modelindicates that said voltage at said feeder head at said given timestampis below a threshold value; and said controlling of said operation ofsaid electrical power system comprises at least one of placing at leastsome of said distributed generation capability online and reducing load.14. A computer implementing a sensor data fusion system, said computercomprising: a memory; and at least one processor, coupled to saidmemory, and having interfaces with a plurality of sensors having limitedsensor resources, said at least one processor being operative to:initialize said sensor data fusion system by providing access to: a datastore storing at least one time series of sensor data; a semantic storestoring semantic data comprising system variables, and relations betweensaid system variables; and a mapping between said semantic data and saidtime series of sensor data; obtain, from a user, a registration of a setof one or more variables of interest defined in said semantic store butfor which appropriate data is not available due to said limited sensorresources; extend an initially empty inference model with said set ofone or more variables of interest, to obtain an extended inferencemodel; obtain, from said user, a request to observe a given one of saidset of one or more variables of interest at a given timestamp;responsive to said request, retrieve time series data for the set ofregistered variables in said extended inference model; and run saidextended inference model with said retrieved data to obtain an estimateof said given one of said set of variables at said given timestamp. 15.The computer implementing the sensor data fusion system of claim 14,wherein: no analytical relations exist to link said set of one or morevariables of interest to said variables in said semantic data store; andsaid at least one processor is operative to extend said inference modelby: navigating said semantic store to identify new relationships; andassociating a parametric relation to each of said new relationships;said at least one processor is further operative to learn parameters ofsaid new relationships by extracting historical data from said at leastone time series of sensor data.
 16. The computer implementing the sensordata fusion system of claim 15, wherein said parametric relationcomprises at least one of a joint probability density and a conditionalprobability density.
 17. The computer implementing the sensor datafusion system of claim 16, wherein data for at least some of saidvariables of interest with unknown parameters in said parametricrelation is not available, and wherein said at least one processor isfurther operative to: flag said at least some of said variables ofinterest as unobservable; and obtain relations from said user for saidunobservable variables.
 18. The computer implementing the sensor datafusion system of claim 16, wherein data for at least some of saidvariables of interest with unknown parameters in said parametricrelation is not available, and wherein said at least one processor isfurther operative to: flag said at least some of said variables ofinterest as unobservable; and obtain from said user a mapping fromvariable to data from a new sensor.
 19. The computer implementing thesensor data fusion system of claim 15, wherein said inference modelcomprises a probabilistic graphical model, and wherein said learning ofsaid parameters of said new relationships by extracting said historicaldata from said at least one time series of sensor data comprises using amaximum likelihood technique.
 20. The computer implementing the sensordata fusion system of claim 14, wherein said at least one processor isfurther operative to obtain, from said user, registration of knownanalytic relations between any subset of variables in the semanticstore, and wherein said extending of said inference model furthercomprises extending said initially empty inference model with said knownanalytic relations, to obtain said extended inference model.